java software development digital rights management license distribution software development copy protection java tools databases java object oriented electronic licensing development